package com.jcfk.eam.domain.dto.main;

import com.jcfk.system.domain.dto.BaseDTO;
import java.util.List;
import org.hibernate.validator.constraints.Length;

import lombok.Data;
import java.util.Date;
/**
 * 资产迁移申请
 *
 * @author yrl
 * @email 
 * @date 2025-06-20
 */
@Data
public class EamAssetMigrationApplyDTO extends BaseDTO {

    private static final long serialVersionUID=1L;
        
    /**
     * 数据版本号
     */
        private Long version;
        
    /**
     * 资产主键
     */
        @Length(max = 32, message = "资产主键长度不能超过32")
        private String assetId;
        
    /**
     * 资产编码
     */
        @Length(max = 32, message = "资产编码长度不能超过32")
        private String assetCode;
        
    /**
     * 资产名称
     */
        @Length(max = 50, message = "资产名称长度不能超过50")
        private String assetName;
        
    /**
     * 迁移原因
     */
        @Length(max = 255, message = "迁移原因长度不能超过255")
        private String migrationReason;
        
    /**
     * 迁移时间
     */
        private Date migrationTime;
        
    /**
     * 经办人主键
     */
        @Length(max = 32, message = "经办人主键长度不能超过32")
        private String handlerPersonId;
        
    /**
     * 经办人名称
     */
        @Length(max = 50, message = "经办人名称长度不能超过50")
        private String handlerPersonName;
        
    /**
     * 状态;1:新建 2:已确认
     */
        private Integer migrationStatue;
        
    /**
     * 迁出部门主键
     */
        @Length(max = 32, message = "迁出部门主键长度不能超过32")
        private String originalDepartmentId;
        
    /**
     * 迁出部门名称
     */
        @Length(max = 50, message = "迁出部门名称长度不能超过50")
        private String originalDepartmentName;
        
    /**
     * 迁入部门主键
     */
        @Length(max = 32, message = "迁入部门主键长度不能超过32")
        private String targetDepartmentId;
        
    /**
     * 迁入部门名称
     */
        @Length(max = 50, message = "迁入部门名称长度不能超过50")
        private String targetDepartmentName;
        
    /**
     * 原使用人主键
     */
        @Length(max = 32, message = "原使用人主键长度不能超过32")
        private String originalUsingPersonId;
        
    /**
     * 原使用人姓名
     */
        @Length(max = 50, message = "原使用人姓名长度不能超过50")
        private String originalUsingPersonName;
        
    /**
     * 新使用人主键
     */
        @Length(max = 32, message = "新使用人主键长度不能超过32")
        private String targetUsingPersonId;
        
    /**
     * 新使用人姓名
     */
        @Length(max = 50, message = "新使用人姓名长度不能超过50")
        private String targetUsingPersonName;
        
    /**
     * 迁出位置主键
     */
        @Length(max = 32, message = "迁出位置主键长度不能超过32")
        private String originalLocationId;
        
    /**
     * 迁出位置名称
     */
        @Length(max = 50, message = "迁出位置名称长度不能超过50")
        private String originalLocationName;
        
    /**
     * 迁入位置主键
     */
        @Length(max = 32, message = "迁入位置主键长度不能超过32")
        private String targetLocationId;
        
    /**
     * 迁入位置名称
     */
        @Length(max = 50, message = "迁入位置名称长度不能超过50")
        private String targetLocationName;
        
    /**
     * 备注
     */
        @Length(max = 255, message = "备注长度不能超过255")
        private String remarks;
                
    /**
     * 创建人名
     */
        @Length(max = 50, message = "创建人名长度不能超过50")
        private String createdUserName;
                
    /**
     * 更新人名
     */
        @Length(max = 50, message = "更新人名长度不能超过50")
        private String lastUpdatedUserName;
        
    /**
     * 是否停用
     */
        private Integer enabled;
        
    /**
     * 是否删除
     */
        private Integer deleted;
    
    /**
     * 批量删除id
     */
    private List<String> ids;
}
